iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
Software Development

練習java30天系列 第 18

Day19練習java-快速排序法(有bug)

  • 分享至 

  • xImage
  •  

昨天練習了簡單的遞迴練習,今天來真實的應用在排序當中吧,之前練習過氣泡排序法跟挑選排序法,而今天來寫一個新的快速搜尋法。
快速搜尋法主要分成三個步驟,第一步:先找出一個pivot值,讓數列裡的所有元素跟它做比較。第二步:比它大或比它小的數分作成二個新的數列。第三步:再分別找出pivot值再繼續比較分堆。
這個演算法屬於divide and conquer ,簡單來說就是將大問題分成小問題再分別解決,因為它就是將一大堆數字,先找中間的數做依據來分堆,每堆再做同樣的事,最後再全部合起來,是個蠻聰明的辦法。

然而實作上又有出現問題,真D討厭,這次遇到的問題是有時會對有時又會出錯TUT
以下是執行五次的結果
https://ithelp.ithome.com.tw/upload/images/20201004/2013068442sotNyHbt.pnghttps://ithelp.ithome.com.tw/upload/images/20201004/20130684zqMa5GWDxa.pnghttps://ithelp.ithome.com.tw/upload/images/20201004/20130684CIxccbOR47.pnghttps://ithelp.ithome.com.tw/upload/images/20201004/20130684bDQME8Shfe.pnghttps://ithelp.ithome.com.tw/upload/images/20201004/20130684bgT80meIwU.png

==還每次出現問題的地方都不同,真的是debug到懷疑人生,沒關係我相信我終究會克服的
先附上程式碼還需要多花時間研究~~~
https://ithelp.ithome.com.tw/upload/images/20201004/20130684t2OgNmtalD.pnghttps://ithelp.ithome.com.tw/upload/images/20201004/20130684YHI0Ws6BGp.png


上一篇
Day18練習java-遞迴
下一篇
Day20練習java-物件與類別
系列文
練習java30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言